From: Matthew Daley Date: Tue, 10 Sep 2013 14:34:20 +0000 (+1200) Subject: mini-os: handle possibly overlong _nodename in init_consfront X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6370^2~4 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=6425b20c0f10eff1843807f83d9cc0895bf91082;p=xen.git mini-os: handle possibly overlong _nodename in init_consfront The only current user that passes a non-NULL _nodename limits it to 64 bytes anyway. Coverity-ID: 1054993 Signed-off-by: Matthew Daley Acked-by: Samuel Thibault --- diff --git a/extras/mini-os/console/xenbus.c b/extras/mini-os/console/xenbus.c index 23d4d32aea..41949824af 100644 --- a/extras/mini-os/console/xenbus.c +++ b/extras/mini-os/console/xenbus.c @@ -70,8 +70,10 @@ struct consfront_dev *init_consfront(char *_nodename) if (!_nodename) snprintf(nodename, sizeof(nodename), "device/console/%d", consfrontends); - else - strncpy(nodename, _nodename, sizeof(nodename)); + else { + strncpy(nodename, _nodename, sizeof(nodename) - 1); + nodename[sizeof(nodename) - 1] = 0; + } printk("******************* CONSFRONT for %s **********\n\n\n", nodename);